<?php
class ShortLinkController extends Controller
{
    public function direct(){
            if(!isset($_SESSION["userId"])){
                $this->redirect(Url::createUrl("login/index"));
            }           
        }  
                  
    public function actionIndex(){
            $this->direct();
            $this->linkCanoncical = Url::createUrl('shortLink/index');
            $this->render("shortLinkForm"); 
        }
        
    public function actionCreateShortLink()
        {
            $this->direct();
            $regx = "/^http:\/\/(.*)|^https:\/\/(.*)/si";     
            $step = 1;
            $url_short = "";
            $url = "";
            $error = "";
            
            if(isset($_POST["url"])){
                $url = trim($_POST["url"]);    
                if(empty($url)){
                    $error .= "<p>- Bạn chưa nhập link cần rút gọn</p>";
                } else {
                    $error .= !preg_match($regx, $url) ? "<p>- Link nhập vào phải có http://</p>" : "";    
                }
                
                $code = trim(strip_tags($_POST["code"]));
                $code_security = isset($_SESSION["code_security"]) ? $_SESSION["code_security"] : "";
                if(empty($code)){
                    $error .= "<p>- Bạn chưa nhập mã xác nhận</p>";    
                } else {
                    $error .= $code!=$code_security ? "<p>- Bạn nhập mã xác thực không đúng</p>" : "";   
                }
                
                if(empty($error)){
                    $step = 2;
                    $url_short = Common::bitly_shorten($url);   
                }
            }
            
            if($step == 1){
                
                $this->render(
                    "shortLinkForm"
                    , array(
                        "error"=>$error
                    )
                );
                
            } else if($step == 2){
                $this->render(
                    "shortLinkCreated"
                    , array(
                        "url"=>$url
                        , "url_short"=>$url_short
                    )
                );
            }               
        }     
}  
?>
